package com.dawn.module.cms.controller.app.article.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "用户 APP - 文章 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AppArticleRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3489")
    @ExcelProperty("主键ID")
    private Long id;

    @Schema(description = "文章标题")
    @ExcelProperty("文章标题")
    private String title;

    @Schema(description = "文章描述", example = "你说的对")
    @ExcelProperty("文章描述")
    private String description;

    @Schema(description = "标签")
    @ExcelProperty("标签")
    private String tags;

    @Schema(description = "标签")
    @ExcelProperty("标签")
    private String[] tagsArray;

    @Schema(description = "文章内容")
    @ExcelProperty("文章内容")
    private String content;

    @Schema(description = "html的content")
    @ExcelProperty("html的content")
    private String contentFormat;

    @Schema(description = "分类类别", example = "9597")
    @ExcelProperty("分类类别")
    private Long categoryId;

    @Schema(description = "上级分类类别", example = "9597")
    @ExcelProperty("上级分类类别")
    private Long categoryPId;

    @Schema(description = "分类类别Key")
    @ExcelProperty("分类类别Key")
    private String categoryKey;

    @Schema(description = "分类类别名称")
    @ExcelProperty("分类类别Key")
    private String categoryName;

    @Schema(description = "发布状态")
    @ExcelProperty("发布状态")
    private Integer publish;

    @Schema(description = "是否置顶")
    @ExcelProperty("是否置顶")
    private Integer topping;

    @Schema(description = "封面图")
    @ExcelProperty("封面图")
    private String coverImg;

    @Schema(description = "阅读次数")
    @ExcelProperty("阅读次数")
    private Integer views;

    @Schema(description = "来源")
    @ExcelProperty("来源")
    private String source;

    @Schema(description = "发布人")
    @ExcelProperty("发布人")
    private String publishUser;

    @Schema(description = "链接地址", example = "https://www.ynzykj.net")
    @ExcelProperty("链接地址")
    private String linkUrl;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("状态")
    private Integer status;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "关键词")
    @ExcelProperty("关键词")
    private String keywords;

    @Schema(description = "作者")
    @ExcelProperty("作者")
    private String author;

    @Schema(description = "演示类型", example = "2")
    @ExcelProperty("演示类型")
    private String demoType;

    @Schema(description = "演示地址", example = "https://www.ynzykj.net")
    @ExcelProperty("演示地址")
    private String demoUrl;

    @Schema(description = "图集")
    @ExcelProperty("图集")
    private List<String> pictures;

    @Schema(description = "附件")
    @ExcelProperty("附件")
    private List<String> files;

    @Schema(description = "推荐状态")
    @ExcelProperty("推荐状态")
    private Integer recommend;

    @Schema(description = "顺序", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("顺序")
    private Integer sort;

    @Schema(description = "最后更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("最后更新时间")
    private LocalDateTime updateTime;

}